<?php

namespace app\home\controller;

use app\admin\model\Goods;
use think\Controller;
use think\Request;

class Test extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        /*      访问地址http://www.tpshop.com/home/Test/index?id=0&name=&age=18
        //输入变量Request::instance()->param('变量名/变量修饰符', '默认值', '过滤方法')
        $request = Request::instance();
        echo $request->param('name', 'LiHua', trim('')); echo '<br>';  //获取URL中的姓名信息,默认值为LiHua,trim()方法消除空字符
        echo $request->param('age'); echo '<br>';   //获取年龄信息
        dump($this->request->param('sex')); //和上述效果一样
        var_dump( $request->param(false)); echo '<br>'; //获取所有变量（原始数据？）
        var_dump( $request->param()); echo '<br>';  //获取所有变量（经过过滤？）
        var_dump( $request->param(true)); echo '<br>';  //获取所有变量（包含上传文件？）
        echo '<hr>'; echo '助手函数input：<br>';
        var_dump(input('param.name')); echo '<br>';   //效果和上述param一样
        var_dump(input('')); echo '<br>';   //效果和上述param一样，接收所有数据
        $param = request()->param();
        echo '<ber>';
        var_dump($param);
//        dump($param);
        */


        // http://www.tpshop.com/home/Test/index/sex/man/age/18/?id=0&name=tom
        //get  param  route区别
        $request = request();
        dump($request->get());  //访问？后的请求参数
        dump($request->param());    //能访问所有
        dump($request->route());    //访问路由里的属性值

    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)  //依赖注入
    {
        //依赖注入可以方便编写，
        dump($request->param('name'));
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)   //这个参数指向ULR获取的参数, 这里可以有多个参数（$id, $name, $sex),参数少时按顺序绑定,!!调用有形参的方法必须要有参数传入，在这里相当于URL中要有参数传入
    {
        //$id自动指向URL中的参数
        var_dump($id);  //訪問http://www.tpshop.com/home/Test/read/?id=20
        //顺序绑定 public function read($year='2024', $month='11')
        //访问 http://www.tpshop.com/home/Test/read/2012/20
//        echo "year=".$year.",month=".$month."<br>";
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //渲染模板
//        return view();
//        return view('edit');    //指定渲染模板
//        return $this->fetch();  //两个效果一样
        //变量赋值渲染模板
//        $user = ['id' => 100, 'username'=> 'Lihua'];
//        $this->assign('user', $user);
//        return view();
//        return $this->fetch();
        //使用view进行变量赋值
        $user = ['id'=>100, 'username'=> 'Lihua'];
        $age = '18';
//        return view('edit', ['user'=>$user, 'id'=>$id, 'age'=>$age, 'sex'=>'man']);
        dump(compact('user', 'age'));
        return view('edit', compact('user', 'age'));
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }

}
